package com.company.project.annotation;

/*
 * @Description: 自定义注解
 * 在需要登录验证的Controller的方法上使用此注解
 * @Author:         brilliantzhao
 * @CreateDate:     2019/5/30 14:27
 * @UpdateUser:
 * @UpdateDate:     2019/5/30 14:27
 * @UpdateRemark:
 * 为何要用自定义注解
    有些方法我们想要它只能被特定的用户访问到，比如用户登录之后才能访问。spring 的拦截器可以配置拦截的路由，
    * 但在 restful 风格的路由中，往往有重复的，根据 http method 来指定功能，这样子的话直接配置拦截器路由规则也不太方便。
    * 所以我们可以自定义一个注解，将它用在需要登录的方法中，然后在拦截器中判断要访问的方法是否有我们自定义的注解，
    * 如果有就判断当前用户是否登录了（判断是否携带了登录之后获取到的 token ），从而决定是否拦截。
 */

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/*
 * @Description:
 * ElementType.MeTHOD 表示该自定义注解可以用在方法上
    RetentionPolicy.RUNTIME 表示该注解在代码运行时起作用
 * @Author: brilliantzhao
 * @CreateDate: 2019/5/30 14:29
 * @Param:
 * @Return:
 */
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface LoginRequired {
}